草庐IT

java - 在 Java 中连接到 MongoDB

全部标签

mongodb - 无法使用 golang 将结构保存到 mongodb 中(仅创建空记录)

我有以下结构typeResultstruct{nidstringtimestampint64hexhashstringaddrstring}我想保存到mongodb中:我创造了它r:=Result{hex_id,int64(msg.timestamp.Unix()),hexhash,msg.addr.String()}并测试是否正确创建:fmt.Println(r)这给了我预期的结果:{b8da3f19d1318af6879976c1eea66c78c48e1144142141725265072917F19D7F4C4B54C9C66A3EB31F77012981127.0.0.1:6

mongodb - 使用 Go 在 MongoDB 中指定查询

对于如何将JavascriptJSON命令转换回go会理解的东西感到困惑。好的,这是mongoshell中的查询:db.customers.find({acct_balance:{$gt:100000}},{firstName:1,surname:1,acct_balance:1,_id:0})结果::{“firstName”:“Susann”,“surname”:“Ulisch”,“acct_balance”:238897.45}{“firstName”:“Parker”,“surname”:“Peet”,“acct_balance”:443314.13}现在我想在Go中复制该查询。

mongodb - MGO 驱动程序中的更新查询,适用于 bson.M,但不适用于自定义结构

Mgo和golang问题。我又遇到问题了。我尝试更新数据库中的记录,但运行简单命令visitors.UpdateId(v.Id,bson.M{"$set":zscore});wherezscore是类型Zscore的变量,不起作用。但是,如果我手动将zscore转换为bson.M结构,一切正常。有人知道如何使用mgo更新mongodb中的记录,而无需手动将结构值转储到bson.M中吗?示例:typeZscorestruct{afloat64`bson:"a,omitempty"json:"a"`bfloat64`bson:"b,omitempty"json:"b"`cfloat64`b

mongodb - 在mongodb中按日期查询

我可以使用golang驱动程序gopkg.in/mgo.vs和gopkg.in/mgo.vs/bson向MongoDB中插入一个条目,但是我拔不出来。在mongoshell中,如果我这样做了db.Items.find({date:1428762411980})它显示了我刚刚用Go代码插入的条目。但是,如果我尝试执行以下操作以在Go中获取它,它会告诉我找不到该记录funcfetch(whttp.ResponseWriter,r*http.Request){varresultSomeStructdate:=r.FormValue("date")err:=Items.Find(bson.M{

go - smtp.Dial ("ASPMX.L.GOOGLE.COM:25") 连接错误;但是腻子连接有效

使用Go和smtp.Dial时,甚至net.Dial,我收到错误:dialtcp64.233.169.27:25:ConnectExtcp:Aconnectionattemptfailedbecausetheconnectedpartydidnotproperlyrespondafteraperiodoftime,orestablishedconnectionfailedbecauseconnectedhosthasfailedtorespond.来自这段代码:mxClient,err:=smtp.Dial("ASPMX.L.GOOGLE.COM:25")iferr!=nil{fmt.

go - 关闭持久连接的正确方法是什么?

我的情况是:连接到Redis的长时间运行的服务器。此服务器等待SIGTERM信号终止。什么是保证在我的应用程序终止后释放连接的正确方法?我知道延迟-真的很棒,但不适用于持久连接,因为我不想为每个操作打开到Redis的连接。谢谢! 最佳答案 如果您想确保一些代码块在退出前执行,您仍然可以使用defer。区别在于它的范围。connection和defer语句的范围应该相同。我不知道您的应用程序是什么,但为了提供一个具体示例,您需要在命令行应用程序的主体中延迟关闭连接,而不是在读取和写入的方法中。你说“因为我不想为每个操作打开与Redis

mongodb - 当键包含大写字母时无法使用 mgo 检索值

来自mongoDB的一个数据是{"_id":ObjectId("5536def4e4b0644323e219a8"),"title":"TheTitle","description":"TheDescription","timeStamp":"21/04/2015","category":"news","url":"http://www.example.com","source":"EveningTimes","mainStory":"Thisisthemainstory."}在我的代码中,结构是typeNewsDatastruct{Titlestring`bson:"title"js

mongodb - 通过 mgo 驱动程序设置 MongoDB 写关注

我有一个Go客户端,它重复将数据插入MongoDB1分钟。我不希望客户端确认写入,直到它们被复制到我的主-辅助-仲裁副本集的辅助副本,所以我通过mongoma​​jority写入关注/strong>外壳。但是,客户端的执行远远早于将写入复制到辅助节点之前完成(我正在观察文档计数以确保)。如果主节点在复制完成之前崩溃,数据将被回滚——从客户端的角度来看——已经被确认。这种行为是否与我通过shell设置的多数写入问题相矛盾?我是否还需要通过mgo驱动程序设置写入关注?本文建议我需要:RunningMongoDBQueriesConcurrentlyWithGoWeusethemgo.Dia

运行 Go 应用程序的多个实例时的 Gorilla websocket 连接

为了保存Gorillawebsocket连接,我可以这样做,其中key可以是userId。connections:=make(map[int]*connection)我正在使用一种叫做supervisord的东西http://supervisord.org/这是一个过程控制系统,因此我能够运行go应用程序在后台作为守护进程。看起来有几个实例正在生成。如果我将其设为全局变量,这些实例是否知道如何访问相同的连接变量?varconnectionsmap[int]*connection还是会有问题?此外,由于map不是线程安全的,我是否应该创建一个结构并添加sync.RWMutex并在检查ke

mongodb - Mgo(mongo for go)支持物化路径?

使用BSON和Mgo(用于go的丰富mongodb驱动程序),一种方法将如何实现物化路径?物化路径已记录here在mongo文档上。物化路径旨在为多层嵌套数据提供树状结构。使用纯javascript,命令如下(来自documentation):db.categories.insert({_id:"Books",path:null})db.categories.insert({_id:"Programming",path:",Books,"})db.categories.insert({_id:"Databases",path:",Books,Programming,"})db.cate